package com.triadsystems.cashweb.modelo.negocio.servicos.impl;

import java.io.Serializable;

import javax.inject.Named;

import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.transaction.annotation.Transactional;

import com.icon.infra.modelo.persistencia.dao.impl.DAOHibernateTemplate;
import com.triadsystems.cashweb.modelo.negocio.servicos.IUsuarioServico;
import com.triadsystems.cashweb.modelo.persistencia.entidades.Usuario;

@SuppressWarnings("unchecked")
@Transactional(readOnly = false)
@Named("usuarioServico")
public class UsuarioServico extends DAOHibernateTemplate<Usuario> implements
		IUsuarioServico, Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public UserDetails recuperarUsuario(String email) throws Exception {
		String stringHQL = "from Usuario u where email = :email and email is not null";

		String[] params = { "email" };
		Object[] valores = { email };

		Usuario uv = (Usuario) recuperarObjetoPorHQL(stringHQL, params, valores);

		return uv;
	}

}